home *** CD-ROM | disk | FTP | other *** search
- #include <Memory.h>
- #include <StdIO.h>
- #include "CIncludesCode.h"
-
- extern Handle database;
- extern dataHeaderType dataHeader;
-
-
-
- char *getDictionaryPtr( char ch )
- {
- long offset;
-
- offset = dataHeader.dictionaryOffsets[ dictionaryIndex( ch ) ];
- return ( StripAddress(*database) + offset );
- }
-
-
- char *getNamePtr( short index )
- {
- strArray *sp = (strArray*) (*database + dataHeader.nameArrayOffset);
-
- return ( (char*) ((*sp)[index]) );
- }
-
-
- char *search( char *s, char* dictPtr ) // returns pointer or NIL
- {
- char *p = dictPtr + 6;
- char *limit = dictPtr + *((long*) dictPtr);
-
- if ( *s )
- while ( p < limit )
- if ( strcmp( p, s ) == 0 )
- return ( p - 2 );
- else
- p += strlen( p ) + 3;
- return 0;
- }
-
-
- Boolean locateIdentifier( char *dest, char *src )
- {
- char *entryPtr = search( src, getDictionaryPtr( *src ) );
- char *p;
-
- if ( entryPtr )
- {
- p = getNamePtr( getShort( entryPtr ) );
- strcpy( dest, p );
- }
-
- return ( (Boolean) entryPtr );
- }
-
-